有時候會遇到需要撥放音效或是音樂的時候,這時就能使用MediaPlayer來達成,MediaPlayer可以用來撥放音樂與影片,AudioManager主要是用來調整音樂大小用的,結合這兩者便能達成音樂撥放的基本功能。
在撥放音樂前還需要知道自己的音樂來源,這邊提供取得專案內mp3檔的方法。
AssetFileDescriptor afd = getAssets().openFd("start.mp3");
接下來便能夠對我們的檔案做動作了,MediaPlayer的使用如下。
MediaPlayer player = new MediaPlayer();
player.setDataSource(afd.getFileDescriptor(), afd.getStartOffset(), afd.getLength());
player.prepare();
player.start();
//暫停音樂
player.pause();
//撥放音樂
player.start();
完成了以上操作後,便能成功聽到音樂,一般調整音量可以直接使用手機上的按鍵來調整,但如果遇到需要使用其他方法來調整的時候便能使用AudioManager來達成。
AudioManager audioManager = (AudioManager) getApplicationContext().getSystemService(Context.AUDIO_SERVICE);
//提升音量
audioManager.adjustVolume(AudioManager.ADJUST_RAISE, AudioManager.FLAG_PLAY_SOUND);
//降低音量
audioManager.adjustVolume(AudioManager.ADJUST_LOWER, AudioManager.FLAG_PLAY_SOUND);
當音樂結束時可以使用setOnCompletionListener來設定撥放完音樂要做的事
player.setOnCompletionListener(new MediaPlayer.OnCompletionListener() {
@Override
public void onCompletion(MediaPlayer mp) {
Log.i("music","end");
}
});
通過以上的操作,便能夠達成對音樂檔的基本需求。